1. Field of the Invention
The present invention relates generally to noise suppression devices for reducing or suppressing noises other than objective signals in voice communications systems and speech recognition systems often used in various noisy environments.
2. Description of the Prior Art
Noise suppressor devices for suppressing any possible nonobjective signal components such as noises mixed into audio/voice signals are known in the art, one of which has been disclosed in, for example, Japanese Patent Laid-Open No. 212196/1997. The noise suppressor as taught by this Japanese publication is inherently designed to employ what is called the spectral subtraction method. This method is for noise reduction based on amplitude spectra in a way as suggested from Steven F. Boll, “Suppression of Acoustic Noise in Speech using Spectral Subtraction,” IEEE Trans. ASSP, Vol. ASSP-27, No. 2, April 1979.
The prior known noise suppression technique of the above-identified Japanese Patent Laid-Open No. 212196/1997, will be explained in detail with reference to FIG. 1. In FIG. 1, reference numeral “200” designates such related art noise suppressor; 201 denotes a perceptual weighting side; and 202 indicates a loss control side. Numeral 101 denotes an input signal node; 102 is a frequency analyzer circuit; 103, linear prediction circuit; 104, auto-correlative analyzer circuit; 105, maximum value analyzer circuit. 106 designates an audio/non-audio analyzer circuit, an output of which is used for turn-on/off controlling of switches 107A, 107B. 108 is a noise spectrum characteristics calculation and storage circuit, which is for performing perceptual weighting processing. 109 is a subtractor means; 110 is an inverse frequency analyzer circuit for performing an adverse operation to that of the frequency analyzer circuit 102. 111 is an average noise level storage circuit; 112, loss control coefficient circuit; 113, output signal calculator circuit; 114, arithmetic means; 115, output signal node.
When an input signal is supplied to the input node 101 and taken into the noise suppressor 200, the frequency analyzer circuit 102 is rendered operative to convert a time domain or timebase signal into a frequency domain signal for separation into a power spectrum S(f) and phase spectrum P(f). Simultaneously, the input signal is subjected to linear prediction analyzation at the linear prediction analyzer circuit 103, thereby obtaining a linear prediction difference signal (error signal) from a difference between the input signal and a predicted value. This error signal is supplied to the auto-correlation analyzer circuit 104 to thereby obtain a self- or auto-correlation coefficient. The maximum value selector circuit 105 operates to search for the maximum value, Rmax, of such auto-correlation factor. The maximum value Rmax is then passed to the audio/nonaudio identifier circuit 106, which identifies the kind or type of the input signal. If the value Rmax is greater than a prespecified threshold value, then identify the signal as an audio signal; if the former is less than the latter then identify it as noise components.
The signal spectrum S(f) identified as noise at the audio/nonaudio identifier 106 is stored or accumulated as a noise spectrum Sns(f) in the noise spectrum characteristics calculation/storage circuit 108 in response to an operation of the switch 107A. Updating of the noise spectrum is carried out through multiplication of a weighting coefficient β to a noise spectrum Snsold before updating and the input signal spectrum S(f), in a way as defined by the following Equation (1):Sns now(f)=Snsold(f)·β+S(f)·(1−β)  (1)
Subsequently, for the purpose of noise suppression processing, a weighting factor W(f) is used for the noise spectrum Sns(f) to perform perceptual weighting. W(f) may be represented by Equation (2) below:W(f)={B−(B/fc)f}+K, f=0, . . . fc  (2)
In the equation above, “fc” is the value equivalent to the frequency band of an input signal, B and K are the weighting coefficients or factors, wherein the greater the value, the greater the amount of suppression. The values B, K are changeable or alterable depending on the kind and significance of noises.
The arithmetic means 109 performs subtraction processing of an average noise spectrum Sns(f) from the input signal spectrum S(f) in accordance with Equation (3), to be presented below, thereby obtaining a noise-removed spectrum S′ (f). If the noise-removed spectrum S′ (f) is negative then add thereto either zero (0) or low-level noise th(f).
[Eq. 3]
                                          S            ′                    ⁡                      (            f            )                          =                  {                                                                                          S                    ⁡                                          (                      f                      )                                                        -                                                            W                      ⁡                                              (                        f                        )                                                              ·                                          Sns                      ⁡                                              (                        f                        )                                                                                                                                                              if                    ⁢                                                                                  ⁢                                          S                      ⁡                                              (                        f                        )                                                                              >                                      Sns                    ⁡                                          (                      f                      )                                                                                                                                            0                  ⁢                                                                          ⁢                  or                  ⁢                                                                          ⁢                                      th                    ⁡                                          (                      f                      )                                                                                                  else                                                                        (        3        )            
The inverse frequency analyzer 110 makes use of the noise-removed spectrum S′ (f) and phase spectrum P(f) to obtain a signal waveform through conversion from a frequency domain to a time domain.
Subsequently the average noise level storage circuit 111 stores therein a residual noise level at an instant that the input signal is determined as noise. The average noise level Lns will be updated only when the input signal is determined as noise by using Equation (4) to be later presented. Here, Lnsnew[t] is the average noise level updated at a time point t, Lnsold is the average noise level within a frame prior to updating, Lns[t] is the residual noise level of an output signal of the inverse frequency analyzer 110 at a time point t, and β is the weighting factor.Lnsnow[t]=Lnsold·β+LnS[t]·(1−β)  (4)
Using the values Lns[t] and Ls[t] thus obtained, calculate a loss control coefficient A[t] by Equation (5) presented below. Here, μ is the loss amount. Ls[t] is a signal as output by the output signal calculator 113 in response to receipt of an output signal of the inverse frequency analyzer 110.A[t]=Ls[t]/μLns[t]  (5)
The arithmetic circuit 114 multiplies the output signal of the inverse frequency analyzer 110 by the above obtained loss control coefficient A[t] to provide a resultant signal, which is output from the signal output node 115.